/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.eps.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Luis_Angel
 */
@Entity
@Table(name = "ajuste_presupuestal")
@NamedQueries({
    @NamedQuery(name = "AjustePresupuestal.findAll", query = "SELECT a FROM AjustePresupuestal a"),
    @NamedQuery(name = "AjustePresupuestal.findByCodPre", query = "SELECT a FROM AjustePresupuestal a WHERE a.ajustePresupuestalPK.codPre = :codPre"),
    @NamedQuery(name = "AjustePresupuestal.findByCodCcp1", query = "SELECT a FROM AjustePresupuestal a WHERE a.ajustePresupuestalPK.codCcp1 = :codCcp1"),
    @NamedQuery(name = "AjustePresupuestal.findByCodPedido", query = "SELECT a FROM AjustePresupuestal a WHERE a.ajustePresupuestalPK.codPedido = :codPedido"),
    @NamedQuery(name = "AjustePresupuestal.findByMontoAjuste", query = "SELECT a FROM AjustePresupuestal a WHERE a.montoAjuste = :montoAjuste"),
    @NamedQuery(name = "AjustePresupuestal.findByEstado", query = "SELECT a FROM AjustePresupuestal a WHERE a.estado = :estado"),
    @NamedQuery(name = "AjustePresupuestal.findByMes", query = "SELECT a FROM AjustePresupuestal a WHERE a.mes = :mes"),
    @NamedQuery(name = "AjustePresupuestal.findByIdSuministro", query = "SELECT a FROM AjustePresupuestal a WHERE a.ajustePresupuestalPK.idSuministro = :idSuministro"),
    @NamedQuery(name = "AjustePresupuestal.findByObservacion", query = "SELECT a FROM AjustePresupuestal a WHERE a.observacion = :observacion"),
    @NamedQuery(name = "AjustePresupuestal.findByAprobacion", query = "SELECT a FROM AjustePresupuestal a WHERE a.aprobacion = :aprobacion"),
    @NamedQuery(name = "AjustePresupuestal.findByFecha", query = "SELECT a FROM AjustePresupuestal a WHERE a.fecha = :fecha"),
    @NamedQuery(name = "AjustePresupuestal.findByMontoNegativo", query = "SELECT a FROM AjustePresupuestal a WHERE a.montoNegativo = :montoNegativo"),
    @NamedQuery(name = "AjustePresupuestal.findByIdCodInversion", query = "SELECT a FROM AjustePresupuestal a WHERE a.idCodInversion = :idCodInversion"),
    @NamedQuery(name = "AjustePresupuestal.findByCorrelativo", query = "SELECT a FROM AjustePresupuestal a WHERE a.ajustePresupuestalPK.correlativo = :correlativo")})
public class AjustePresupuestal implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected AjustePresupuestalPK ajustePresupuestalPK;
    @Column(name = "monto_ajuste")
    private BigDecimal montoAjuste;
    @Basic(optional = false)
    @Column(name = "estado")
    private int estado;
    @Column(name = "mes")
    private Integer mes;
    @Column(name = "observacion")
    private String observacion;
    @Column(name = "aprobacion")
    private Boolean aprobacion;
    @Column(name = "fecha")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fecha;
    @Column(name = "monto_negativo")
    private BigDecimal montoNegativo;
    @Column(name = "id_cod_inversion")
    private String idCodInversion;
    
    @Column(name = "anio")
    private String anio;

    public AjustePresupuestal() {
    }

    public AjustePresupuestal(AjustePresupuestalPK ajustePresupuestalPK) {
        this.ajustePresupuestalPK = ajustePresupuestalPK;
    }

    public AjustePresupuestal(AjustePresupuestalPK ajustePresupuestalPK, int estado) {
        this.ajustePresupuestalPK = ajustePresupuestalPK;
        this.estado = estado;
    }

    public AjustePresupuestal(String codPre, String codCcp1, String codPedido, String idSuministro, int correlativo) {
        this.ajustePresupuestalPK = new AjustePresupuestalPK(codPre, codCcp1, codPedido, idSuministro, correlativo);
    }

    public AjustePresupuestalPK getAjustePresupuestalPK() {
        return ajustePresupuestalPK;
    }

    public void setAjustePresupuestalPK(AjustePresupuestalPK ajustePresupuestalPK) {
        this.ajustePresupuestalPK = ajustePresupuestalPK;
    }
    
    public String getAnio() {
		return anio;
	}

	public void setAnio(String anio) {
		this.anio = anio;
	}

	public BigDecimal getMontoAjuste() {
        return montoAjuste;
    }

    public void setMontoAjuste(BigDecimal montoAjuste) {
        this.montoAjuste = montoAjuste;
    }

    public int getEstado() {
        return estado;
    }

    public void setEstado(int estado) {
        this.estado = estado;
    }

    public Integer getMes() {
        return mes;
    }

    public void setMes(Integer mes) {
        this.mes = mes;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public Boolean getAprobacion() {
        return aprobacion;
    }

    public void setAprobacion(Boolean aprobacion) {
        this.aprobacion = aprobacion;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    public BigDecimal getMontoNegativo() {
        return montoNegativo;
    }

    public void setMontoNegativo(BigDecimal montoNegativo) {
        this.montoNegativo = montoNegativo;
    }

    public String getIdCodInversion() {
        return idCodInversion;
    }

    public void setIdCodInversion(String idCodInversion) {
        this.idCodInversion = idCodInversion;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (ajustePresupuestalPK != null ? ajustePresupuestalPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof AjustePresupuestal)) {
            return false;
        }
        AjustePresupuestal other = (AjustePresupuestal) object;
        if ((this.ajustePresupuestalPK == null && other.ajustePresupuestalPK != null) || (this.ajustePresupuestalPK != null && !this.ajustePresupuestalPK.equals(other.ajustePresupuestalPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "suministros.ejb30.entity.AjustePresupuestal[ajustePresupuestalPK=" + ajustePresupuestalPK + "]";
    }

}
